Method and system to navigate viewable content

ABSTRACT

A method and system to navigate viewable content in the context of television entertainment is provided. In one example embodiment, the system comprises a presentation module to present main content on a display screen, a communications module to receive a first request associated with a first directional key on a remote control device, a navigation mode detector to determine a navigation mode associated with the first request; a margin menu module to activate a margin menu associated with the determined navigation mode. The margin menu may be presented along one of the margins of a display screen, while permitting viewing of the main content.

RELATED APPLICATIONS

This application is a U.S. National Stage Filing under 35 U.S.C. 371 from International Application Number PCT/US2007/019554, filed Sep. 7, 2007 and published in English as WO 2008/030565 on Mar. 13, 2008, which claims the priority benefit of U.S. Provisional Application Ser. No. 60/842,735 filed on Sep. 7, 2006 and entitled “METHOD AND SYSTEM TO NAVIGATE MULTIMEDIA CONTENT” and of U.S. Patent Application Ser. No. 60/911,009 filed on Apr. 10, 2007 and entitled “METHOD AND SYSTEM TO SEARCH MULTIMEDIA CONTENT IN THE CONTEXT OF TELEVISION ENTERTAINMENT”, which applications and publication are incorporated herein by reference in their entirety. This application is also related to commonly assigned PCT Application Number PCT/US2007/019527, filed Sep. 7, 2007, published in English as WO 2008/051331 on May 2, 2008, and entitled “METHOD AND SYSTEM TO SEARCH VIEWABLE CONTENT”. This application is also related to the U.S. National Stage Filing which claims priority to PCT Application Number PCT/US2007/019527, filed on even date herewith. These applications and publication are incorporated herein by reference in their entirety.

TECHNICAL FIELD

This application relates to a method and system to navigate viewable content in the context of television entertainment.

BACKGROUND

The approaches described in this section could be pursued, but are not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.

In the field of television entertainment, there is a new generation of viewers that has a high expectation of the level of entertainment to be enjoyed from television programming. These viewers may expect more choice, more flexibility, as well as the ability to interact and participate more with the viewable content.

On the other hand, the sheer volume of content that is available for viewing is exploding dramatically. Just the number of television channels that are now available is almost unmanageable. The amount of content that is available via video on demand service is also increasing. It is now possible to view content over a wider span of time by employing time shifting technologies, such as Personal Video Recording (PVR) (sometimes referred to as DVR or Digital Video Recording). This explosion of content may be described as a paradox of choice, where the excess of choices causes a viewer's inability to choose.

BRIEF DESCRIPTION OF DRAWINGS

Embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:

FIG. 1 illustrates an environment within which an example system to navigate viewable content may be implemented, in accordance with an example embodiment;

FIG. 2 is a block diagram illustrating a system, in accordance with an example embodiment, to navigate viewable content;

FIG. 3 is a flow chart illustrating a method, to navigate viewable content;

FIG. 4 is a flow chart illustrating a method, in accordance with an example embodiment, that includes additional operations that may be performed in one example implementation of a method to navigate viewable content;

FIG. 5 illustrates a broadcast margin menu, in accordance with an example embodiment;

FIG. 6 illustrates a broadcast grid, in accordance with an example embodiment;

FIG. 7 illustrates a recommendation grid, in accordance with an example embodiment;

FIG. 8 is a flow chart illustrating a method, in accordance with an example embodiment, to provide recommendations with respect to the content items available for viewing;

FIG. 9 illustrates a library grid, in accordance with an example embodiment;

FIG. 10 illustrates a media card, in accordance with an example embodiment; and

FIG. 11 illustrates a diagrammatic representation of a machine in the example form of a computer system within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed.

DETAILED DESCRIPTION

A method and system to navigate content available for viewing and to manage a viewer's choice is described. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of an embodiment of the present invention. It will be evident, however, to one skilled in the art that the present invention may be practiced without these specific details. It is to be noted that the delivery mechanism for the content for viewing may be via a satellite, cable, Internet, local storage, a local network, mobile telephony, or any other content distribution network. Accordingly, the viewing device need not be a television set but may be any display unit of any device (including portable devices).

A system to navigate viewable content and to manage a viewer's may include a supermodal zoomable viewer interface (ZUI) (e.g., the interface may be selectively enlarged by zooming in, either literally or figuratively, by enabling specific selections) that may be utilized to assist viewers in navigating the wealth of potentially available viewable content in an efficient and enjoyable manner. An example interface may be configured to analyze a viewer's behavior over time and to provide a personalized experience in a world of nearly infinite content. In one example embodiment, the interface may be configured to utilize existing control keys on a remote control device, such as the directional keys and the select button, in order to access various aspects of the interface and the associated functionality. This functionality may include, e.g., a viewer interface to navigate to the programming of choice, to view recommendations based on the currently viewed content and/or the viewer's profile, as well as to permit viewers to search for specific content items. An example interface may contribute to enhancing viewer experience by providing a smooth transition between watching television and navigating for content and between different navigation techniques. For the purposes of this description, a feature or a combination of features to permit a viewer to access multiple modes in order to discover and navigate content and to link those modes to create a unified experience, may be referred to as supermodality. It will be noted that the term viewer may be understood broadly as any viewer of the system to navigate television content.

In one example embodiment, a method and system to navigate viewable content may be utilized in the following example scenario. A viewer just arrived home and started watching television. The viewer is channel surfing but cannot find anything adequate to watch. The viewer is stuck in the paradox of choice—too much choice to find something he really wants. By employing the example system to navigate viewable content (that may be referred to as a navigation system), the viewer is permitted to explore the variety of available viewable content by the simple use of the five standard remote control keys—the four directional keys (e.g., the arrow buttons) and the select key. The requests submitted in this manner may activate functionality to provide shortcuts to a variety of content navigation functions (e.g., to automatically engage a particular way of navigating), and thus may be referred to as “surfcuts,” as navigating through content is sometimes referred to as “surfing.”

In response to receiving a request associated with a directional key, the example navigation system determines which directional key was activated by the viewer and present the viewer with a so-called margin menu. A margin menu, in one example embodiment, is displayed in the margins of a viewing area (e.g., in the margins, or along the edges of video content, or at the periphery of a TV screen or any other viewing device) and may be associated with specific navigation-related functionality. For example, one margin menu may be dedicated to navigating broadcast channels, another—to navigating video-on-demand (VOD) or previously stored content. In one example embodiment, each item in the margin menu represents a content item that can be viewed. Some example margin menus are described further below. An interface based on margin menus may contribute to enhancing viewer experience by providing a smooth transition between watching television and navigating for content and between different navigation techniques.

A margin menu may be intuitively associated with a particular directional key such that a margin menu to be displayed in the upper portion of a display screen may be activated by an “Up” directional key, a margin menu to be displayed in the left portion of a display screen may be activated by a “Left” directional key, and so on. In one example embodiment, an interface for navigating viewable content may include a feature that permits a viewer to continue viewing the current content while, at the same time, previewing different content (e.g., the content selected via a margin menu choice). It will be noted, however, that in some embodiments there may not be a margin per se. In such situation, the main content may be resized in order to create space for the margin menu. An example margin menu may be displayed such that it does not obscure the content that a viewer is currently watching, while permitting a viewer to start navigating towards different viewable content. In some embodiments, where a margin menu is displayed on a mobile device, the content may be partially or fully obscured, depending on the screen size. A separate margin menu may be associated with each directional key on a viewer's remote control device. The margin menu may extend around the entire periphery of the viewing area or only a portion thereof

In one example embodiment, the directional keys that are provided with a remote control device may be utilized to navigate margin menus, with or without employing a specialized control key to permit content navigation and selection. For example, once a margin menu has been engaged, a viewer may use directional keys on a remote control device to move between different content items (e.g., by pressing the “Up” and “Down” directional keys if the margin menu is displayed along the left or the right edge of the screen). The “Select” key on a remote control device, in one example embodiment, may be used to cause the currently viewed content to be replaced by the selected content.

In one example embodiment, a margin menu associated with a particular directional key may be displayed in such a way that it reinforces a viewer's key-menu association. For example, a margin menu associated with an “Up” directional key may be displayed near the top edge of the viewing area, a “Down” directional key may be displayed near the bottom edge of the viewing area, a “Left” directional key may be displayed near the left edge of the viewing area, and a “Right” directional key may be displayed near the right edge of the viewing area. It will be noted, that a variety of remote control devices may be utilized with the system to navigate viewable content, including, e.g., controllers designed for games, that may have more than four directional keys. Using points of a compass, such controllers may have directional keys labels as “N”, “NE”, “E”, “SE”, “S”, “SW”, “W”, and “NW,” and these directional keys may also be used by the system to permit viewers to navigate through viewable content.

In one example embodiment, an example navigation system may be configured to present an expanded navigation interface (e.g., a navigation grid) associated with some or all of the margin menu to provide a more advanced discovery mode. A respective expanded interface for a margin menu may be requested by pressing the same directional key a second time when the margin menu is shown.

In order to exit from viewing a margin menu, a viewer may press the directional key opposite from the key that engaged the margin menu. For example, a viewer may bring up a left margin menu by pressing the left directional key and then exit from viewing the left margin menu by pressing the right directional key. According to one example embodiment, a viewer may also exit by pressing some other key as well, such as “Back”, “Exit,” or any other key. It will be appreciated that the specific interface used to navigate a margin menu may vary from one viewing device to another. For example, when viewing content on a computer system, directional keys of a keyboard may be used. When viewing content on a mobile device, numerical keys may be used, and so on.

A margin menu may be navigated using the direction keys at 90 degrees to the directions keys used to invoke and exit it. For example, a viewer may bring up the left margin menu by pressing the “Left” directional key and then navigate between the choices within the margin menu using the “Up” and “Down” directional keys. Each item in the margin menu may have associated “Preview” and “Select” options. The “Preview” option may permit a viewer to visually access the content that is different from the currently viewed content, while continuing to display the currently viewed content. In one example embodiment, when a content item is selected from a margin menu, e.g., by activating the “Select” key on a remote control, the selected content item replaces the currently viewed content.

A system to navigate multimedia content, in some example embodiments, may be implemented to include modules to offer content recommendations, to process explicit search requests, to present broadcast programs, video on demand content, Internet content, as well as previously stored content, in a manner suitable for navigating. An example system to navigate viewable content in the context of television entertainment may be described with reference to FIG. 1.

FIG. 1 illustrates an environment 100 within which an example system to navigate viewable content may be implemented. The environment 100 includes a system to navigate viewable content 102 in communication with an entertainment display device 104 and a control device 106. In one example embodiment, the entertainment display device 104 is a television set, and the control device 106 is a remote control device that may be used for switching between television channels, for example. The system to navigate viewable content 102 is shown as having access to broadcast programs 108, video on demand programs 110, as well as to local content 112 and Internet content 114. An example system to navigate viewable content in the context of television entertainment may be described with reference to FIG. 2.

FIG. 2 illustrates an example system 200 to navigate viewable content. The system 200 includes a communications module 202, a presentation module 204, and a margin menu module 208. The communications module 202 may be configured to receive requests from a viewer, e.g., content search, content selection, and content navigation requests. As mentioned above, the requests may be received from a television remote control device. The presentation module 204 may be configured to display the content item, selected by a viewer, in a format suitable for viewing. For example, the presentation module 204 may cooperate with the margin menu module 208 to present different margin menus in response to viewer's requests associated with directional keys on a remote control device.

The margin menu module 208, in one example embodiment, may include a plurality of modules, each of which being associated with its respective margin menu. Example margin menus are described further below. The presentation module 204 may also be configured to present to a viewer a media card associated with a particular content item, utilizing a media card module 222. A media card, in one example embodiment, is an interactive presentation interface to provide additional information regarding the content item, including a list of keywords, stored as metadata associated with the content item. The margin menu module 208 may be configured to activate a margin menu associated with the determined navigation mode. The activating of a margin menu indicates to the viewer that a certain navigation mode has been activated. A margin menu may be presented by the margin menu module 208 along one of the margins of a display screen, while permitting viewing of the main content.

The margin menu module 208, in one example embodiment, cooperates with a navigation mode detector 206. The navigation mode detector 206 may be configured to determine a navigation mode associated with a directional key associated with a request received by the communications module 202. The navigation mode detector 206 may then communicate the navigation mode information to the margin menu module 208 so that the margin menu module 208 displays the appropriate margin menu. An example system 200 to navigate viewable content may be configured to support a variety of navigation modes and associated margin menus. Some example margin menus include a broadcast menu, a library menu, a search, menu, and a recommendation menu. Some of the example menus are discussed in greater detail further below.

In one example embodiment, the system 200 to navigate viewable content includes a search module 210 configured to locate the requested content item based on a search term associated with the search request and an anticipation engine 212 to drive recommendations suggested to a viewer. The search module 210, in one example embodiment, is configured to cooperate with a text entry module permits a viewer to enter search terms in a text format and a search term detector to determine a search term associated with a viewer's request. A text entry module may cooperate with a dictionary module to generate suggested search terms and to present a reduced set of letter selections based on an incomplete text entry by the viewer. A disambiguation module may be provided with the search module 210 to generate a more precise search term based on the search term provided with the viewer's request. The viewer may then be provided with an option to select the generated more precise search term to be used for searching. The example system 200 may also include a search refinement module to permit filtering of the content items located by the search module 210.

As mentioned above, the content available for viewing on an entertainment display device may include television programming, locally stored content, video on demand, content available on a local network, as well as content accessible via the Internet. The system 200, in one example embodiment, includes a broadcast interface module 214 to access television programming, a library interface module 216 to access locally stored content, a video on demand module 218 to access video on demand, and an Internet interface module 220 to access Internet content. It will be noted that some or all of the modules of the system 200 may be considered to be a system to navigate viewable content. An expanded interface module 224 may be configured to detect a request for an expanded navigation interface associated with the currently active margin menu and to activate the associated expanded interface. Example operations performed by the system 200 may be described with reference to FIG. 3.

FIG. 3 illustrates is an example method 300 to navigate viewable content. The method 300 may be performed by processing logic that may comprise hardware (e.g., dedicated logic, programmable logic, microcode, etc.), software (such as run on a general purpose computer system or a dedicated machine), or a combination of both. It will be noted, that, in an example embodiment, the processing logic may reside in any of the modules shown in FIG. 2.

As shown in FIG. 3, the method 300 commences with operation 302, where the presentation module 204 presents main content on a display screen. At operation 304, the communications module 202 of the system 200 receives a request associated with a directional key on a remote control device. It will be noted that in one example embodiment the display device is a television screen, and the remote control device is a television remote control device. In response to receiving the request, the navigation mode detector 206 processes the request to determine a navigation mode associated with the first request, at operation 306. At operation 308, the margin menu module 208 activates a margin menu associated with the determined navigation mode and the presentation module 204 displays the margin menu along one of the margins of the viewer's display screen. The margin menu may be displayed such that the main content is not obstructed from view.

As mentioned above, an example system to search viewable content may be configured to permit a viewer to invoke functionality utilizing directional keys that are intuitively associated with the direction designated by a directional key. For example, if a particular directional key is used to activate a particular navigation mode, a directional key associated with the opposite direction is used to deactivate the navigation mode. On the other hand, engaging the same directional key again, causes the activation of an expanded version of that navigation mode (e.g., the activation of a grid associated with that navigation mode). Example operations illustrating these features may be discussed with reference to FIG. 4.

FIG. 4 illustrates a method 400 that includes additional operations that may be performed in one example implementation of a method to navigate viewable content. The example method 400 may be performed by processing logic that may comprise hardware (e.g., dedicated logic, programmable logic, microcode, etc.), software (such as run on a general purpose computer system or a dedicated machine), or a combination of both. It will be noted, that, in an example embodiment, the processing logic may reside in any of the modules shown in FIG. 2.

As shown in FIG. 4, the method 400 commences with operation 402, where the communications module 202 of the system 200 receives a request associated with a directional key on a control device. At operation 404, the navigation mode detector determines whether a navigation mode has already been activated. If it is determined that a navigation mode has not been activated, the navigation mode detector 206 identifies the navigation mode associated with the directional key and the identified navigation mode is activated at operation 406. If it is determined that a navigation mode has already been activated, the navigation mode detector 206 identifies the active navigation mode at operation 408. The directional key associated with the active navigation mode is determined at operation 410.

If it is determined, at operation 412, that the directional key associated with the request received at operation 402 is the opposite of the directional key associated with the active navigation mode, the active navigation mode is deactivated at operation 414. If it is determined, at operation 412, that the directional key associated with the request received at operation 402 is the same as the directional key associated with the active navigation mode, the presentation module 204 displays, at operation 418, an associated grid to permit the viewer access to expanded functionality associated with the active navigation mode. If it is determined, at operation 412, that the directional key associated with the request received at operation 402 is not the same as the directional key associated with the active navigation mode, an appropriate associated action is determined at operation 420, and the action is performed at operation 422.

As mentioned above, one example of a margin menu is a broadcast margin menu. The broadcast margin menu, in one example embodiment, may be activated by the “Down” directional key on a remote control device and may be displayed at the bottom of the viewer's screen. The broadcast margin menu may permit a viewer to see what TV programs are available on other channels. Each item in the on broadcast margin menu may have associated with “Preview” and “Select” (or “OK”) options. The “Preview” option may permit a viewer to visually access a desired broadcast channel, while continuing to display the currently viewed content. In one example embodiment, a viewer may be permitted to see other channels without obscuring the currently viewed content. The “Select” option, in one example embodiment, causes the currently viewed content to be replaced by the selected broadcast channel.

An example broadcast margin menu is illustrated in FIG. 5. As shown in FIG. 5, a main content item 502 is presented to occupy the larger portion of a display area 500. Content items 504-512 that represent other broadcast content item available for viewing are presented in the form of a margin menu—the broadcast margin menu—displayed along the right margin of the display area 500.

As shown in FIG. 5, the content item 508 is displayed as highlighted or accentuated, in order to draw the viewer's attention as a recommended item. The highlighting may be accomplished in a variety of ways. For example, the program title may be displayed in a color different from or brighter than the title color of the other menu items. In one embodiment, the recommended content item from the menu may be presented as streaming video, while the rest of the menu items may be presented as still images.

In one example embodiment, a viewer may be permitted to select and view a program from the broadcast margin menu, or, alternatively, the viewer may be permitted to access a so-called broadcast grid associated with the broadcast margin menu. FIG. 6 illustrates a broadcast grid 600, in accordance with an example embodiment. In one example embodiment, the broadcast grid is a traditional linear TV grid, which may include some features of a conventional TV grid. A TV grid may be displayed such that the channels information runs across the top of the viewer's screen (e.g., areas 604, 606, and 608) while the time, in area 602, runs down the side of the viewer's screen. As shown in FIG. 6, thumbnail images from the broadcast menu, e.g., images that may be presented in areas 604 and 606, are kept at the top of the screen so the viewer can easily see what is currently playing on a channel as they page through the guide. In one example embodiment, the titles of recommended broadcast programs presented within the body of the grid may be visually emphasized, e.g., with a subtle colored highlight. The anticipation engine 212 may be configured to determine which broadcast programs should be recommended in this manner, based on the viewer's personal profile and viewing habits.

It will be appreciated that an expanded interface may be provided on any display device. The broadcast grid may be accessed by the viewer by pressing the same button that was used to access the broadcast margin menu while the broadcast margin menu is visible. Within the broadcast grid, a viewer may be permitted to not only navigate by content, but also by the channel names or brands. So as with any other content item, a viewer may bring up a to view information associated with a particular channel, to search based on that channel, to make recommendations based on the channel brand, or to save content associated with the channel. Example media card is described further below with reference to FIG. 7.

In one example embodiment, each content item associated with a particular channel in the broadcast margin menu (or in a broadcast grid) may be displayed utilizing a still image or streaming video. When the channels in the broadcast margin menu or in a broadcast grid are represented as streaming videos, a viewer may be permitted to actually sample the channels' content directly through these individual screens. In one example embodiment of the broadcast grid, the text associated with different TV programs may be presented as having different color, brightness, or different font size, or any combination of the above, to indicate a recommendation generated by the anticipation engine 212. Thus, while a viewer is presented with information associated with several different channels, the viewer may be capable of quickly identifying a TV program that is of most interest to her.

As mentioned above, another margin menu is a search margin menu. In one example embodiment, the search menu that may be presented near the right margin of the viewer's screen, displays content items from a previously executed search. The search margin menu may be activated by the “Right” directional key on a remote control device. A viewer may utilize the search menu to access a content item found in the last search performed. Each item in the on search margin menu may have associated “Preview” and “Select” (or “OK”) options. The “Preview” option may permit a viewer to visually access a desired content item, while continuing to display the currently viewed content. In one example embodiment, a viewer may be permitted to see other content items from a search without obscuring the currently viewed content. The “Select” option, in one example embodiment, causes the currently viewed content to be replaced by the selected content item. A viewer can also initiate a new search by typing or selecting a search term. Once the search term has been determined, the search module 210 may locate one or more relevant content items based on the determined search term. The presentation module 204 may then present to the viewer the located content item. In one example embodiment, the located content item is presented to the viewer as a so-called source content item. Designating a content item to be the source item indicates to the associated content navigation system that metadata associated with the content item may be utilized to locate further search results or recommendations.

In one example embodiment, in response to requesting a search, a viewer is presented with one or more terms reflecting more precise meanings of the search term determined from the search request. A process to determine a more precise meaning of the search term may be referred to as disambiguation. For example, if the search term is “Disney,” the search may produce a large number results. The viewer may be permitted to look at these individual content items within the search results or use mechanisms to refine the search by choosing a disambiguated meaning of the search term, such as “Walt Disney” or “Disney World”, with each results set reduced automatically as the different meanings are selected.

Another example mechanism to refine or filter the search results is to present the viewer with an option to select a particular keyword, tag, category, or a type of content. For example, the list of content items produced by the search based on “Disney” may be filtered further based on the type of content associated with “animals” or only content that are TV series. The search results can be filtered multiple times, reducing the search result set with each filter by selecting different terms.

One example interface is single screen faceted browsing, where a list of filter terms is presented in multiple lists in the same interface as the search result list. One list of terms may be content categories and another list of terms may be content specific keywords/tags. In one example embodiment, moving between the terms and selecting terms from the lists allows the search results to be filtered/pivoted. The viewer may navigate between the search results list and search term lists using the “Left” and “Right” directional keys and navigate up and down the lists using the “Up” and “Down” directional keys. The search results list may contain images, text, or video to identify the associated content in the search result set.

One example of a search results list is a “lightbox” model, where a search result is just the title of a content item except for the search item that has focus, which would be expanded in size to contain a thumbnail video or a still image or expanded text. In one example embodiment, the pool of content utilized to generate a list of search results includes broadcast content, on-demand content, Internet content, content stored on a local network, as well as any other type of content that may be viewable on a television set, or any other display device.

In one example embodiment, the system to navigate viewable content may be configured to provide other margin menus in addition to the broadcast margin menu and the search margin menu. Other margin menus may include a library margin menu, and a recommendation margin menu. As mentioned above, the system may be configured to present a navigation grid associated with some or all of the margin menus to provide a more advanced discovery mode.

The library margin menu, in one example embodiment, permits a viewer to access content, both for locally sourced content (e.g., PVR), and remotely sourced content (e.g., video on demand, content via Internet-based distribution, content on a local network etc.). The library margin menu, in one example embodiment, may be activated by the “Left” directional key on a remote control device and may be displayed near the left margin of the viewer's screen. As mentioned earlier, with respect to margin menus in general, once the library margin menu has been engaged, a viewer may use directional keys on a remote control device to move between different content items (e.g., by pressing the “Up” and “Down” directional keys). The “Select” key, activated on a remote control device, in one example embodiment, causes the currently viewed content to be replaced by the selected content. The library margin menu, in one example embodiment may be associated with a library grid, which is described further below. In one example embodiment, the content items that may be accessed utilizing the library menu and the library grid are the content items that has been designated by a viewer as being of interest to the viewer.

In one example embodiment, the “Up” directional key on a remote control device may be utilized to engage a recommendations margin menu. The recommendations margin menu may be associated with an engine that may be configured to intelligently anticipate a viewer's choice of particular content. Thus, such an engine may be termed an anticipation engine, which may be provided with the system 200 to navigate viewable content, illustrated in FIG. 2. The recommendations generated by the anticipation engine 212 may be based, for example, on the specific content that the viewer is currently watching, a profile of the viewer including viewing habits, environmental context, general popularity, collaborative filtering or any combination of the preceding factors. A margin menu with several recommended content items may appear near the top margin of the viewer's screen in response to the control key. The viewer may then select any of the recommended content items, either for preview or for committed viewing. Alternatively, the viewer may choose to solicit further recommendations by engaging a so-called full committed interface (or entering a committed recommendations mode). While in the example committed recommendations mode, a viewer may request recommendations from the anticipation engine 212 based not on the originally viewed content but rather based on the selected recommended content item. In response, the anticipation engine 212 may provide further recommendations to be displayed by the navigation interface.

It will be noted, that the recommendations mode that permits viewers to view recommendations and solicit more targeted recommendations may be accessed from any other margin menu, navigation grid, media card, or any other component of the viewer interface. In one example embodiment, a viewer may be presented simultaneously with recommendations based on the originally viewed content and with recommendations based on the selected recommended content item, as well as on the profile of the viewer. The content item that is selected to be the basis for a group of recommended content items may be called a source item. For example, while the system is operating in the committed recommendations mode, a source item (e.g., a source video) may be displayed along with two recommended content items displayed either side of it. A viewer may be permitted to navigate with the “Left” and “Right” directional keys to either of those content items. If a viewer navigates to a recommended content item and selects it, the item may be then brought into focus and displayed in the center of the viewer's screen, as the new source content item, surrounded by two other recommendations. A viewer may navigate with the “Up” directional keys to retain the current source content and replace the two recommended content items with two new recommendations based on the same source item. A viewer may navigate with the “Down” directional keys to return to a previous source item. The recommendations may be displayed as still images, while the source item may be displayed as a streaming video. Data about the recommendations and the source item may be displayed with images, video, or text, for example, title. For a recommendation item, this data may also include the tag/keyword common to the recommendation item and source item that had the most influence on the recommendation being made.

An example alternative implementation of a committed recommendation mode is so-called fractal navigation, where a directional key may be used to designate a recommended content item as a new source content item, while maintaining the previous choices visually available. The resulting hierarchy of recommendations, illustrated in FIG. 7, may have an appearance of a fractal, thus the term “fractal navigation.” In FIG. 7, the initial source item 702 is presented with four recommended items 704. Each recommended item 704 may, in turn serve as source content items and be presented with one or more refined recommendation items 706. Each new set of recommendations may be based on the respective source content item and the viewer's personal profile. For example, if the new source content item (e.g., a movie) is identified by the system as more scary than the old source content item, the resulting recommendations may include movies that are more scary than the new source item.

To illustrate an example use case of the recommendations mode, as a viewer follows the direction of a recommendation, the new recommendation in the same direction may have the same link, creating an association between the direction and the tag/keyword while the same direction is followed. In one example embodiment, the recommended content items may be selected from a variety of sources, such as broadcast television, the content on the viewer's PVR, the content available over the Internet, content available from a local network(s), as well as from any interactive, dynamic or Internet Protocol (IP) based content.

The anticipation engine 212, in one example embodiment, may utilize a variety of criteria in order to generate recommendations for a particular viewer. An example criteria may include the viewer's consumption statistics or viewing behavior, e.g., what a viewer has actually watched in the past. Another criterion that may be used by the anticipation engine 212 is a viewer's environment, e.g., the current time of day, the viewer's geographic location, or the type of the viewer's display device (e.g., a TV set which may be a standard definition TV set or a high definition TV set). Furthermore, the 212 may utilize data that may be indicative of the viewer's mood. For example, information pertaining to how hard the viewer is pressing the remote control buttons and how long the viewer has lingered on each content item may provide an indication of the viewer's mood. Thus, the anticipation engine 212 may be configured to utilize a viewer's environment and mood indicators, in addition to utilizing the viewer's consumption patterns, in order to generate recommendations. It will be noted that, in one example embodiment, the anticipation engine 212 may utilize a variety of recommendation techniques. For example, the content presented to a viewer as related to the source content item may be shared from a social network and use collaborative filtering.

In one example embodiment, a viewer may be presented with reasoning behind recommendation, e.g., the name of the actor, a category, a particular keyword, etc. The recommendations may be based, for example, on one or more characteristics of the source content item, on the viewer's personal profile, or on a combination of both. Example operations performed by the system 200 while the recommendation mode is active, may be described with reference to FIG. 8.

FIG. 8 illustrates is an example method 800 to provide recommendations. The method 800 may be performed by processing logic that may comprise hardware (e.g., dedicated logic, programmable logic, microcode, etc.), software (such as run on a general purpose computer system or a dedicated machine), or a combination of both. It will be noted, that, in an example embodiment, the processing logic may reside in any of the modules shown in FIG. 2.

As shown in FIG. 8, the method 800 commences with operation 802, where the communications module 202 of the system 200 receives a request to activate the recommendation mode. The recommendation mode may be activated by a viewer is a variety of ways. For example, as mentioned above, a viewer may activate the recommendation menu. The recommendation mode may also be activated by selecting a “Recommend” control presented on a media card. At operation 804, the anticipation module 230 determines the source content item and then determines one or more recommended content items, at operation 806 based, e.g., on metadata associated with the source content item and the viewer's profile.

The suggested content items are displayed at operation 808. The method 800 proceeds further to permit a viewer to explore further recommendation, unless it is determined, at operation 810, that the viewer requested to exit the recommendation code, in which case the system 200 processes the exit request, at operation 812. In one example embodiment, if it is determined, at operation 814, that the viewer selected a suggested content item, the method proceeds to operation 804 to display the selected content item as a new source item and continue with determining further suggested content.

The library margin menu discussed above, in one example embodiment, may be associated with a library grid. The library grid may be utilized to present to a viewer with even more items from the locally and remotely sourced content available for viewing. In one example embodiment, the items in the library grid may be presented to a viewer as thumbnail images or video. The library grid may be navigated utilizing the directional keys on a remote control device, and each content item in the library grid may be associated with a media card.

An example library grid, illustrated in FIG. 9, includes a display area divided into a plurality of sections, where each section (e.g., each column 902) includes library content items associated with different categories 904. In some embodiments a viewer may be invited to use default categories (e.g., “Movies,” “TV Programs,” “Sports,” “Photos,” etc.) or create custom categories. Custom categories may be generated by a viewer or based upon the type and/or metadata of the aggregate content. For example, a custom category may be associated with an actor, a genre, a broadcast channel, the source of the content etc. In one example embodiment, the interface for navigating viewable content may be linked to one or more social networks. The categorization may then be driven by a social network (e.g., a viewer-selected group of reference people), where the content may be tagged by a person or by a mechanism associated with a particular social network.

It will be noted, that other margin menus may be provided instead of or in addition to the margin menus described above. A so-called scenographic margin menu, in one example embodiment, may be configured to permit a viewer to access different scenes within the content that is being presented to the viewer or to access related interactive content. The scenographic margin menu, in one example embodiment, may provide access to different portions of a particular program, similar to the scene selection feature available on digital video discs (DVDs).

Each item in the on scenographic margin menu may have associated “Preview” and “Select” (or “OK”) options. The “Preview” option may permit a viewer to visually access a desired scene in the content, while continuing to display the currently viewed content. In one example embodiment, a viewer may be permitted to see other scenes in the program without obscuring the currently viewed portion of the content. The “Select” option, in one example embodiment, causes the currently viewed scene to be replaced by the selected scene. The scenographic margin menu, in one example embodiment, may be associated with a scenographic grid that provides the viewer with an expanded view of the scenes within the content. For example, where a program is a football match, the associated scenographic grid may permit the viewer to access the highlights of that football match. Within the scenographic grid, the viewer may move quickly to critical parts of the game, or replay a goal.

In one example embodiment, the items in the scenographic grid may be presented to a viewer as thumbnail images. The scenographic grid may be navigated utilizing the directional keys on a remote control device, and each content item in the scenographic grid may be associated with a media card providing additional information associated with any element of the scene. In one example embodiment, each content item associated with a particular scene in the scenographic margin menu (or in the scenographic grid) may be displayed utilizing a still image or streaming video.

Another feature that may be provided with the system 200 to navigate viewable content, as mentioned above, is a media card represented as a display area dedicated to additional information associated with a particular content item. A viewer may bring up a media card associated with the currently viewed content. A viewer may also be permitted to bring up a media card associated with a preview item. A media card, in one example embodiment, may have various actions associated with it. For example, a media card may include a “Save” action, to permit a viewer to save the associated content item for later viewing, and a “Recommend” action, to permit a viewer to drive a recommendations grid based on the piece of content associated with the media card. Returning to the “Save” action, in one example embodiment, if the content item associated with the media card is an on demand content item or a content item that may become available in the future, the “Save” action causes the system to bookmark the content item. If the content item associated with the media card is a current content item, the “Save” action causes the system to start recording the content to the viewer's personal video recorder. If the content item associated with the media card is a preview for a future broadcast then the “Save” action causes the system to book a recording for the future. An example media card is illustrated in FIG. 10.

As shown in FIG. 10, a media card 1000 may include an information area 1002, a search control 1004 to activate a search mode, a save area 1006 to permit designating the content item for future viewing, a recommend control 1008 to activate a recommendation mode, and an options control 1010. The options control 1010 may activate various additional features associated with an example media card. It will be noted that, in one example embodiment, any element of the media card may be actionable (e.g., a viewer may click on an actor's name and view further information about the actor, etc.). The actions associated with a media card may be navigated to, in one example embodiment, utilizing the directional keys on a remote control device, which may map to the same direction as the UI itself. Activation of an action may, for some actions, present a viewer with additional choices before the action is completed. For example, for the “search” action, a list of associated keywords may be presented to provide the search term. The keywords, as well as other information displayed on a media card, may be stored as metadata associated with the content item.

It will be noted that, although the embodiments have been described by way of example with reference to digital video, it will be appreciated to a person of skill in the art that the techniques described herein may be utilized to navigate and to manage the choice of any digital data.

FIG. 11 shows a diagrammatic representation of machine in the example form of a computer system within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed.

In alternative embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.

The example computer system 1100 includes a processor 1102 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 1104 and a static memory 1106, which communicate with each other via a bus 1108. The computer system 1100 may further include a video display unit 1110 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 1100 also includes an alphanumeric input device 1112 (e.g., a real or virtual keyboard), a viewer interface (UI) navigation device 1114 (e.g., a remote control or a mouse), a disk drive unit 1116, a signal generation device 1118 (e.g., a speaker) and a network interface device 1120.

The disk drive unit 1116 includes a machine-readable medium 1122 on which is stored one or more sets of instructions and data structures (e.g., software 1124) embodying or utilized by any one or more of the methodologies or functions described herein. The software 1124 may also reside, completely or at least partially, within the main memory 1104 and/or within the processor 1102 during execution thereof by the computer system 1100, the main memory 1104 and the processor 1102 also constituting machine-readable media.

The software 1124 may further be transmitted or received over a network 1126 via the network interface device 1120 utilizing any one of a number of well-known transfer protocols (e.g., HTTP).

While the machine-readable medium 1122 is shown in an example embodiment to be a single medium, the term “machine-readable medium” may be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention, or that is capable of storing, encoding or carrying data structures utilized by or associated with such a set of instructions. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media, and carrier wave signals.

The embodiments described herein may be implemented in an operating environment comprising software installed on a computer, in hardware, or in a combination of software and hardware.

Although embodiments have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. 

1. A method comprising: presenting main content on a display screen that has multiple margins; detecting first and second presses of a button on a device configured to remotely control the main content presented on the display screen, the button corresponding to a margin among the multiple margins of the display screen; and using a processor, presenting a recommendation menu along the margin of the display screen, the recommendation menu being configured to: respond to the first press of the button by presenting a first recommendation recommended based on the main content presented on the display screen; and respond to the second press of the button by presenting a second recommendation recommended based on the first recommendation presented in the recommendation menu.
 2. The method of claim 1, wherein: the button indicates a direction among multiple directions indicated by multiple buttons on the device; and the presenting of the recommendation menu presents the recommendation menu at a position on the display screen, the position corresponding to the direction indicated by the button.
 3. The method of claim 1, wherein: the button is a first directional button that indicates a direction perpendicular to that of a second directional button; and the recommendation menu is further configured to respond to a press of the second button by presenting a third recommendation recommended based on the first recommendation presented in the recommendation menu.
 4. The method of claim 1, wherein: the button is a first directional button that indicates a direction opposite to that of a second directional button; and the method further comprises ceasing the presenting of the recommendation menu in response to a press of the second directional button.
 5. The method of claim 4 further comprising: detecting a further press of the second directional button; and presenting a channel menu in response to the further press of the second directional button, the program menu being configured to present selectable items from a set of channels of content.
 6. The method of claim 4 further comprising: detecting a further press of the second directional button; and presenting a search menu in response to the further press of the second directional button, the search menu being configured to present selectable items from an executed search of content.
 7. The method of claim 4 further comprising: detecting a further press of the second directional button; and presenting a library menu in response to the further press of the second directional button, the library menu being configured to present selectable items from a library of content.
 8. The method of claim 1, wherein: the button is an “up” directional button among multiple directional buttons on the device; and the presenting of the recommendation menu is along a top edge of the display screen.
 9. The method of claim 1, wherein: the button is a “down” directional button among multiple directional buttons on the device; and the presenting of the recommendation menu is along a bottom edge of the display screen.
 10. The method of claim 1, wherein: the button is a “left” directional button among multiple directional buttons on the device; and the presenting of the recommendation menu is along a left edge of the display screen.
 11. The method of claim 1 further comprising: the button is a “right” directional button among multiple directional buttons on the device; and the presenting of the recommendation menu is along a right edge of the display screen.
 12. The method of claim 1 further comprising: generating the first recommendation based on the main content; and generating the second recommendation based on the first recommendation recommended based on the main content.
 13. The method of claim 1, wherein: the presenting of the main content on the display screen presents the main content on a mobile device; and the device configured to remotely control the main content is a remote control device of the mobile device.
 14. The method of claim 1, wherein: the presenting of the main content on the display screen presents the main content on a television screen; and the device configured to remotely control the main content is a remote control device of the television screen.
 15. A system comprising: a presentation module configured to present main content on a display screen that has multiple margins; a communications module configured to detect first and second presses of a button on a device configured to remotely control the main content presented on the display screen, the button corresponding to a margin among the multiple margins of the display screen; and a processor configured by a menu module to display a recommendation menu along the margin of the display screen, the recommendation menu being configured to: respond to the first press of the button by presenting a first recommendation recommended based on the main content presented on the display screen; and respond to the second press of the button by presenting a second recommendation recommended based on the first recommendation presented in the recommendation menu.
 16. The system of claim 15, wherein the button indicates a direction among multiple directions indicated by multiple buttons on the device; and the processor is configured by the menu module to present the recommendation menu at a position on the display screen, the position corresponding to the direction indicated by the button.
 17. The system of claim 15, wherein: the button is a first directional button that indicates a direction perpendicular to that of a second directional button; and the recommendation menu is further configured to respond to a press of the second button by presenting a third recommendation recommended based on the first recommendation presented in the recommendation menu.
 18. The system of claim 15, wherein: the button is a first directional button that indicates a direction opposite to that of a second directional button; and the processor is configured by the menu module to cease the presenting of the recommendation menu in response to a press of the second directional button.
 19. The system of claim 15, wherein: the presenting of the main content on the display screen presents the main content on a mobile device; and the device configured to remotely control the main content is a remote control device of the mobile device.
 20. A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising: presenting main content on a display screen that has multiple margins; detecting first and second presses of a button on a device configured to remotely control the main content presented on the display screen, the button corresponding to a margin among the multiple margins of the display screen; and presenting a recommendation menu along the margin of the display screen, the recommendation menu being configured to: respond to the first press of the button by presenting a first recommendation recommended based on the main content presented on the display screen; and respond to the second press of the button by presenting a second recommendation recommended based on the first recommendation presented in the recommendation menu.
 21. A method comprising: causing main content to be presented on a display screen that has multiple margins; detecting a first activation and a second activation of a button on a device configured to remotely control the main content presented on the display screen, the button corresponding to an associated margin of the multiple margins of the display screen; using a processor, presenting a recommendation menu along the associated margin of the display screen; responsive to the first activation of the button, causing presentation of a first recommendation in the recommendation menu, the first recommendation being based on the main content; and responsive to the second activation of the button, causing presentation of a second recommendation in the recommendation menu, the second recommendation being based on the first recommendation. 